﻿using System.Data;
using Koala.Pro.CodeGenerator.UI.DatabaseModel.Schema;

namespace Koala.Pro.CodeGenerator.UI.DatabaseModel.Data
{
    public interface IListData
    {
        string ConnectString { get; set; }

        string NoSuffixOfTableName { get; set; }

        IDictionary<string, DatabaseInfo> ListDatabases();

        IDictionary<string, TableInfo> ListTables(string database);

        IDictionary<string, ColumnInfo> ListColumns(string database, string tableName);

        IDictionary<string, ViewInfo> ListViews(string database);

        IDictionary<string, ProcedureInfo> ListProcedures(string database);

        DataSet ExecuteSql(string database, string query);

        bool TestConnection();
    }
}
